// import 'dart:async';
//
// import 'package:agora_rtc_engine/rtc_engine.dart';
// import 'package:agora_rtc_engine/rtc_local_view.dart' as RtcLocalView;
// import 'package:agora_rtc_engine/rtc_remote_view.dart' as RtcRemoteView;
// import 'package:flutter/material.dart';
// import 'package:permission_handler/permission_handler.dart';
//
// class Agora extends StatefulWidget {
//   @override
//   _AgoraState createState() => _AgoraState();
// }
//
// class _AgoraState extends State<Agora> {
//   /// 定义 App ID 和 Token
//   final APP_ID = '6affb4ba5ef14c6695729462c140f50a';
//   final Token =
//       '0066affb4ba5ef14c6695729462c140f50aIAAa0EZnWA63PzLSeIsnol4y9CzRm3gdK1ELqpTmQMdU+Qx+f9gAAAAAEABKgxOKq6DyYAEAAQCroPJg';
//
//   bool _joined = false;
//   int _remoteUid = 0;
//   bool _switch = false;
//
//   @override
//   void initState() {
//     super.initState();
//     initPlatformState();
//   }
//
//
//   // 初始化应用
//   Future<void> initPlatformState() async {
//     await [Permission.camera, Permission.microphone].request();
//
//     // 创建 RTC 客户端实例
//     RtcEngineContext context = RtcEngineContext(APP_ID);
//     var engine = await RtcEngine.createWithContext(context);
//     // 定义事件处理逻辑
//     engine.setEventHandler(RtcEngineEventHandler(
//         joinChannelSuccess: (String channel, int uid, int elapsed) {
//       print('joinChannelSuccess $channel $uid');
//       setState(() {
//         _joined = true;
//       });
//     }, userJoined: (int uid, int elapsed) {
//       print('userJoined $uid');
//       setState(() {
//         _remoteUid = uid;
//       });
//     }, userOffline: (int uid, UserOfflineReason reason) {
//       print('userOffline $uid');
//       setState(() {
//         _remoteUid = 0;
//       });
//     }));
//     // 开启视频
//     await engine.enableVideo();
//     // 加入频道,频道名为 123，频道场景默认为通信场景。
//     await engine.joinChannel(Token, 'test', null, 0);
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return Scaffold(
//       appBar: AppBar(
//         title: const Text('Flutter example app'),
//       ),
//       body: Stack(
//         children: [
//           Center(
//             child: _switch ? _renderRemoteVideo() : _renderLocalPreview(),
//           ),
//           Align(
//             alignment: Alignment.topLeft,
//             child: Container(
//               width: 100,
//               height: 100,
//               color: Colors.blue,
//               child: GestureDetector(
//                 onTap: () {
//                   setState(() {
//                     _switch = !_switch;
//                   });
//                 },
//                 child: Center(
//                   child: _switch ? _renderLocalPreview() : _renderRemoteVideo(),
//                 ),
//               ),
//             ),
//           ),
//         ],
//       ),
//     );
//   }
//
//   // 生成本地预览
//   Widget _renderLocalPreview() {
//     if (_joined) {
//       return RtcLocalView.SurfaceView();
//     } else {
//       return Text(
//         'Please join channel first',
//         textAlign: TextAlign.center,
//       );
//     }
//   }
//
//   // 生成远端预览
//   Widget _renderRemoteVideo() {
//     if (_remoteUid != 0) {
//       return RtcRemoteView.SurfaceView(
//         uid: _remoteUid,
//         channelId: "test",
//       );
//     } else {
//       return Text(
//         'Please wait remote user join',
//         textAlign: TextAlign.center,
//       );
//     }
//   }
// }
